package com.liming.auth.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.liming.common.pojo.dto.authinfo.AddOrUpdateUserAddressDTO;
import com.liming.common.pojo.entity.authinfo.UserAddress;
import com.liming.common.pojo.vo.authinfo.mini.MiniAddressVO;

import java.util.List;
import java.util.Map;

/**
 * @author liming
 * @date 2025/1/20
 */
public interface UserAddressService extends IService<UserAddress> {

    /**
     * 获取用户收货地址
     *
     * @return 用户收货地址列表
     */
    List<MiniAddressVO> addressList();

    /**
     * 新增|更新 用户收货地址
     *
     * @param addOrUpdateUserAddressDTO 新增|更新 用户收货地址
     * @return 结果
     */
    Boolean addOrUpdateAddress(AddOrUpdateUserAddressDTO addOrUpdateUserAddressDTO);

    /**
     * 根据用户地址ID,查询 联系人姓名/手机号/地址
     *
     * @param userAddressIds 用户地址ID列表
     * @return Map<用户地址ID, ( 联系人姓名 / 手机号 / 地址 )>
     */
    Map<Long, String> addressInfoByIds(List<Long> userAddressIds);
}
